Functies voor unixtime > datetime en terug
Auteur: Thomas - 20 augustus 2004 - 17:14 - Gekeurd door: Dennisvb - Hits: 15965 - Aantal punten: 4.30 (5 stemmen)
Met deze twee functies kun je gemakkelijk datums converteren van een unixtime (10-cijferig getal) naar een datetime (MySQL datum-tijd formaat, van de vorm jjjj-mm-dd uu:mm:ss) en andersom.
Het voordeel hiervan is aan de ene kant dat je datum/tijd in je database op een (ISO) standaard manier staat opgeslagen in je database, en aan de andere kant je de opgehaalde datum een eigen uiterlijk kan geven, zoals je met date() gewend bent.
Het uiterlijk kun je naar eigen smaak aanpassen door $pattern in datefromiso() te veranderen naar het partroon van jouw voorkeur - je kan de functie ook met verschillende patronen aanroepen.
Bij het wegschrijven van een datum naar je database roep je simpelweg datetoiso(time()) aan (je zou dit ook in MySQL zelf kunnen doen, met bijvoorbeeld NOW()), en bij het ophalen / afdrukken van een datetime uit je database gebruik je datefromiso($row['datum']) of als je een ander patroon gebruikt datefromiso($row['datum'], $je_afwijkende_patroon).
Uitbreiding bij datefromiso():
Het is nu ook mogelijk een datetime om te zetten naar unixtime, door het patroon "unix" mee te geven.
27-01-2006
Uitbreiding:
Ondersteunt nu DATE en DATETIME
|
Code: |
<?php
/*!
@param $date ((date)time)
@param $short (bool) geeft aan of het een datetime (false) of date (true) betreft (default false)
@param $pattern (string) het te retourneren patroon, zoals bij date() gebruikt wordt, of de string "unix" voor unixtime (default "d/m/Y H:i")
@return de date(time) $date omgeschreven naar een datum(tijd) in patroon $pattern
*/
function datefromiso($date, $short=false, $pattern="d/m/Y H:i") {
if($short)
{
list($y, $mo, $d) = explode("-", $date);
$h = $mi = $s = 0;
} else {
list($dat, $tim) = explode(" ", $date);
list($y, $mo, $d) = explode("-", $dat);
list($h, $mi, $s) = explode(":", $tim);
}
if($pattern == "unix") {
return mktime($h, $mi, $s, $mo, $d, $y);
} else {
return date($pattern, mktime($h, $mi, $s, $mo, $d, $y));
}
}
/*!
@param $date (unixtime) een unix timestamp
@param $short (bool) geeft aan of een datetime (false) of date (true) geretourneerd moet worden (default false)
@return $date in date(time) formaat
*/
function datetoiso($date, $short=false) {
if($short)
{
$pattern = "Y-m-d";
} else {
$pattern = "Y-m-d H:i:s";
}
return date($pattern, $date);
}
?>
<?php /*! @param $date ((date)time) @param $short (bool) geeft aan of het een datetime (false) of date (true) betreft (default false) @param $pattern (string) het te retourneren patroon, zoals bij date() gebruikt wordt, of de string "unix" voor unixtime (default "d/m/Y H:i") @return de date(time) $date omgeschreven naar een datum(tijd) in patroon $pattern */ function datefromiso($date, $short=false, $pattern="d/m/Y H:i") { if($short) { $h = $mi = $s = 0; } else { } if($pattern == "unix") { return mktime($h, $mi, $s, $mo, $d, $y); } else { return date($pattern, mktime($h, $mi, $s, $mo, $d, $y)); } } /*! @param $date (unixtime) een unix timestamp @param $short (bool) geeft aan of een datetime (false) of date (true) geretourneerd moet worden (default false) @return $date in date(time) formaat */ function datetoiso($date, $short=false) { if($short) { $pattern = "Y-m-d"; } else { $pattern = "Y-m-d H:i:s"; } return date($pattern, $date); } ?>
Download code (.txt)
|
|
Stemmen |
Niet ingelogd. |
|